Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。透過每篇 EP 的分享把這些點滴整理,看起來或許像是個獨立的小品抒發文、也或許是一系列技術研究文!?
總之,就當作的隨手雜記文吧!
本篇是 莫名其妙就跟世界等級的 OpenSource 專案攪和了!? 系列文的 EP07。
在 Windows 上使用 WPF 透過影片撥放元件,並在撥放元件上面疊加其他的畫面控制元件,就能處理出很出色並有趣的畫面互動效果。
而當要把產品從 WPF 移植到 Avalonia UI 上時該怎麼辦?!
最大的問題就是這裡。
但現在有 Avalonia UI 推出了 Accelerate 其內建的 Media Player。
花一點小錢,就將可以輕鬆達成這個願望唷^_<
以上沒有業配!
時間回到 2023 年中,產品的開發團隊最為困擾的這個點,透過當時一起努力的好成員們終於找到了一個算是可以過關的好解法(注意這時候的 Avalonia UI 才剛開始在 2023/7/5 推出第一個正式穩定版 11.0)。
透過 Gstreamer 這套世界級強大的多媒體框架,並且有各路的語言大神自己推自家的語言整合,還好 C# 也不落人後的有 gstreamer-sharp。
這旋即就有願意開疆闢土的開發者從 .NET Core 時代就(注意是 .NET Core) 完成了示範 Avalonia UI 上的 Sample,陸續隨著 .NET Core 3.1 的繼任者 .NET 5 的推出,該範例也都有能夠正常運作。
這對當時要移植類似效果的開發團隊來說,無疑是個強心針。
懂使用 .NET 5 架構的 .NET 開發者大概都懂。
除非真的發生什麼很特殊或很弔詭的原因,只要在 .NET 5 上可以用的話(其實 .NET Core 3.1 大概就可以了,但 .NET 5 還是會比較安全一點),後續的微軟再推出繼任的 .NET 版本,百分之 87 大概都可以正常。
而實際撩下去後,雖然過程當中必定是跌跌撞撞的遇到很多問題,但完成原本產品當中那:
撥放影片的上面疊加其他的畫面控制元件,處理出很出色並有趣的畫面互動效果。
也就被順利的攻克了...
並沒有!!!